home *** CD-ROM | disk | FTP | other *** search
- <?
-
- //-----------------------------------------------------------------------------------------------------------
- // KONFIGURACJA
- //-----------------------------------------------------------------------------------------------------------
-
- // czas przez jaki u┐ytkownik po wej╢ciu na stronΩ bΩdzie uwa┐any za pod│▒czonego (w sekundach)
- $assumed_time=300;
-
- // katalog w kt≤rym skrypt ma przechowywaµ dane
- $data_dir="data";
-
- //-----------------------------------------------------------------------------------------------------------
- // KONIEC KONFIGURACJI
- //-----------------------------------------------------------------------------------------------------------
-
-
- function add()
- {
- global $assumed_time, $data_dir, $REMOTE_ADDR;
-
- $ctime=time();
-
- $file=fopen("$data_dir/users", "r");
- flock($file, 1);
-
- while(!feof($file))
- {
- $addr=chop(fgets($file, 100));
- if($addr)
- $users[$addr]=(int)chop(fgets($file, 100));
- }
-
- $users[$REMOTE_ADDR]=$ctime+$assumed_time;
-
- flock($file, 3);
- fclose($file);
-
- $file=fopen("$data_dir/users", "w");
- flock($file, 2);
-
- $n=0;
-
- while(list($user, $exp_time)=each($users))
- {
- if($exp_time>$ctime)
- {
- fputs($file, "$user\n$exp_time\n");
- $n++;
- }
- }
-
- flock($file, 3);
- fclose($file);
-
- $rec=file("$data_dir/rec");
- if($n>(int)$rec[0])
- {
- $file=fopen("$data_dir/rec", "w");
- flock($file, 2);
-
- fputs($file, "$n");
-
- flock($file, 3);
- fclose($file);
- }
- }
-
-
- function display()
- {
- global $assumed_time, $data_dir, $REMOTE_ADDR;
-
- $ctime=time();
- $n=0;
-
- $file=fopen("$data_dir/users", "r");
- flock($file, 1);
-
- while(!feof($file))
- {
- $addr=chop(fgets($file, 100));
- if(!$addr)
- break;
-
- $users[$addr]=(int)chop(fgets($file, 100));
- if($users[$addr]>$ctime)
- $n++;
- }
-
- echo($n);
- }
-
-
-
- switch($ACTION)
- {
- case "ADD":
- add();
- break;
-
- case "DISPLAY":
- display();
- break;
-
- case "STAT":
- stat();
- break;
-
- case "":
- add();
- display();
- break;
- }
-
- ?>